跪求“密码锁控制电路”的设计``小弟在此谢过了

来源:百度知道 编辑:UC知道 时间:2024/07/08 18:23:51
一、设计题目:密码锁控制电路(用单片机+软件(固定码)设计)
二、设计内容:
1、任务分析
制定具体题目
2、总体方案设计
针对题目,进行方案比较,论证。原则性说明工作原理
3、硬件设计与计算
具体设计,计算硬件电路
4、软件设计
对本项目中总体软件,关键软件部分,给出流程图并编程。
5、编程语言
汇编语言

密码锁控制电路,输出可以是一个或多个,,状态可以是开锁或上锁。输入是数字键盘,如果有多个输出,需要输出的选择。还有功能键,进行锁的密码设定等操作。

软件方面,需要设置

难题啊~!

1 软件设计

软件用VHDL来实现,VHDL相比较于VerilogHDL,具有更好的语法的严格性,但是其严格的语法一定程度上限制了错误的产生,调试较容易。VHDL的系统抽象能力比Verilog HDL强,在系统描述上占有一定的优势,但在门级描述上稍显逊色。

本设计软件模块框图如图1所示,共8个模块。

在本系统中,密码由4位十进制数组成,初始密码为“0000”,可由用户任意设定密码。密码输入正确时,则进入开锁状态。如果密码连续输入3次错误时,则系统进入自我定时锁定,并报警。在输入过程中,系统可以发音提示(也可屏蔽掉)用户输入的数字,或者说明当前的状态。

下面介绍状态机和ISD2560控制电路的实现。

本设计的状态图见图2。

其中state为状态代码,并通过state_out[3..0]端口传给其他电路。一开机,系统处在空闲状态,当按键处理电路传来确定使能的信号compare_en时,状态机等待effect_out脚的高电平脉冲信号,如果等不到则进入S2状态,即进入密码输入一次错误状态,如果等到则进入pass状态即开门状态,如果3次输入密码错误则系统进入死锁倒计时状态,拉高lock_pin脚,启动计数器。

软件流程图见图3。

当计数满时则计数电路拉高unlock脚电平,状态机检测到unlock脚下为高电平时,则表示锁定时间结束,复位lock_pin的电平,在下一个时钟上升沿到来时,进入下一个状态即idle状态。只有pass状态下从按键处理电路传来modify_pin为高电平时,才能进入modify状态,即密码修改状态。当检测到modify_pin脚电平复位为低电平时则表明修改密码完成,状态机在下一个时钟上升沿到来之时,进入下一个状态即idle状态。如果在pass状态时,状态机检测到close_pin脚电平被拉高时,则表明用户要关门,此系统在下一个时钟上升沿到来之时,返同